-
Notifications
You must be signed in to change notification settings - Fork 121
[Woo POS] Modularization: move shared dependencies to shared frameworks in preparation for POS modularization #16159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Woo POS] Modularization: move shared dependencies to shared frameworks in preparation for POS modularization #16159
Conversation
… settings in the app layer.
Generated by 🚫 Danger |
|
|
staskus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! Looks god 👍
|
|
||
| extension SiteAddress { | ||
| convenience init() { | ||
| self.init(siteSettings: ServiceLocator.selectedSiteSettings.siteSettings) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, a good way to keep the backwards compatibility and avoid unnecessary changes after the refactoring 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, there are a few such usage in the app.

Part of WOOMOB-935
Description
This PR moves shared dependencies from the app layer to appropriate framework layers in preparation for migrating Point of Sale (POS) code to a dedicated module WOOMOB-935. This restructuring enables access to code currently in the app layer when POS usage is moved to a separate module. The moves in this PR were pretty straightforward, while non-trivial moves like the
WaitingTimeTrackerwill be in a separate PR.Key Changes:
Moved to WooFoundation:
SafariViewandSafariSheetUI components - commonly used across POS and main app for web browsing. These two components are quite similar and probably worth consolidating, but it is out of scope of the POS modulairzationDateFormatterandDecimalextensions - utility extensions used in both POS and main appMoved to Yosemite:
SiteAddressmodel and functionality - business logic for store address handling needed by POS settingsCountryCode.readableCountryextension - country display logic required by POS and other features in the appYosemiteTestsApp Layer Updates:
SafariViewfromWooFoundationSiteAddressthat usesServiceLocatorfor app-layer compatibilitySteps to reproduce
Testing information
I tested the following:
Critical POS Flows to Test:
POS Settings Safari Views: Verify hardware documentation and help links open correctly in Safari
Store Address in POS: Confirm store location displays properly in POS settings
POS Eligibility: Test that country-based eligibility checks work correctly
Date/Currency Formatting: Verify proper formatting throughout POS flows
Main App Areas to Test:
In-Person Payments Settings: Test Safari links for card reader documentation
Store Settings: Verify site address functionality in main app settings
Date and currency display: Check formatting consistency across the app
RELEASE-NOTES.txtif necessary.